#ifndef SCHEDULER_RTS_H
#define SCHEDULER_RTS_H

#include <iostream>
#include <string>
#include <vector>
#include "generic_scheduler.h"
#include "process.h"

using namespace std;

class Scheduler_RTS : public Generic_Scheduler {

	public:
		Scheduler_RTS (bool);
		~Scheduler_RTS ();
		
		void begin ();
	
	private:
		vector<Process> processes;
		vector<Process> available;
		vector<string> skipped;
		vector<string> ran;
		int clock;

		void find_available_processes(int);
		void find_skipped_processes(int);
		void run_soft_RTS();
		void run_hard_RTS();
		void print_gantt();
};

#endif
